&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	СписокПараметров = Параметры.СписокПараметров;
	Для Каждого Парам Из СписокПараметров Цикл
		Структура = Парам.Значение;

		Стр = ТаблицаПараметров.Добавить();
		ЗаполнитьЗначенияСвойств(Стр, Структура);

	КонецЦикла;

КонецПроцедуры

&НаКлиенте
Процедура ТаблицаПараметровПриАктивизацииСтроки(Элемент)

	СписокВыбора = Элементы.ТаблицаПараметров.ПодчиненныеЭлементы.ТаблицаПараметровДействие.СписокВыбора;
	СписокВыбора.Очистить();

	ТД = Элементы.ТаблицаПараметров.ТекущиеДанные;
	Если ТД.НовыйПараметр Тогда
		СписокВыбора.Добавить("Сохранить новое значение.");
		СписокВыбора.Добавить("Не сохранять новое значение.");
	Иначе
		Если ТД.НовоеЗначениеПараметра = ТД.ПрежнееЗначениеПараметра Тогда
			СписокВыбора.Добавить("Они равны. Пропустить.");
		Иначе
			СписокВыбора.Добавить("Оставить прежнее значение.");
			СписокВыбора.Добавить("Сохранить новое значение.");
		КонецЕсли;
	КонецЕсли;

	СтрокаДляСравнения = ТД.НовоеЗначениеПараметра + Символы.ПС + ТД.ПрежнееЗначениеПараметра;
	УстановитьЦветФонаСтрокиДляСравнения();

КонецПроцедуры
&НаКлиенте
Процедура УстановитьЦветФонаСтрокиДляСравнения()

	ТД = Элементы.ТаблицаПараметров.ТекущиеДанные;
	Если ТД.НовыйПараметр Тогда
		Если ТД.Действие = "Сохранить новое значение." Тогда
			Элементы.СтрокаДляСравнения.ЦветФона = Новый Цвет(192, 220, 192);
		Иначе
			Элементы.СтрокаДляСравнения.ЦветФона = Новый Цвет(192, 192, 192);
		КонецЕсли;
	Иначе
		Если ТД.НовоеЗначениеПараметра = ТД.ПрежнееЗначениеПараметра Тогда
			Элементы.СтрокаДляСравнения.ЦветФона = Новый Цвет(255, 250, 205);
		Иначе
			Если ТД.Действие = "Сохранить новое значение." Тогда
				Элементы.СтрокаДляСравнения.ЦветФона = Новый Цвет(255, 192, 203);
			Иначе
				Элементы.СтрокаДляСравнения.ЦветФона = Новый Цвет(255, 228, 225);
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;

КонецПроцедуры
&НаКлиенте
Процедура ТаблицаПараметровВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

	ТД = Элементы.ТаблицаПараметров.ТекущиеДанные;
	Действие = ТД.Действие;
	СписокВыбора = Элементы.ТаблицаПараметров.ПодчиненныеЭлементы.ТаблицаПараметровДействие.СписокВыбора;

	Индекс = СписокВыбора.Индекс(СписокВыбора.НайтиПоЗначению(Действие));
	Индекс = Индекс + 1;
	Если Индекс = СписокВыбора.Количество() Тогда
		Индекс = 0;
	КонецЕсли;

	ТД.Действие = СписокВыбора[Индекс].Значение;
	УстановитьЦветФонаСтрокиДляСравнения();
	СтандартнаяОбработка = Ложь;

КонецПроцедуры

&НаКлиенте
Процедура Отменить(Команда)

	Закрыть(Неопределено);

КонецПроцедуры

&НаКлиенте
Процедура Сохранить(Команда)

	СписокПараметров = Новый СписокЗначений;
	Для Каждого Стр Из ТаблицаПараметров Цикл

		Структура = Новый Структура("Наименование,НовыйПараметр,НовоеЗначениеПараметра,ПрежнееЗначениеПараметра,Замещать,Извлечь,Действие");
		ЗаполнитьЗначенияСвойств(Структура, Стр);
		СписокПараметров.Добавить(Структура);

	КонецЦикла;

	Закрыть(СписокПараметров);

КонецПроцедуры